home *** CD-ROM | disk | FTP | other *** search
/ How Would You Survive? / How Would You Survive (1995)(Grolier)[Mac-PC].iso / mac / SHARED.DIR / 01982_Script_a3StateButton < prev    next >
Text File  |  1995-09-13  |  4KB  |  159 lines

  1. property pSprite,pCast,pNutral,pHilighted,pSelected,pFunction,pMySound,pCursor,¼
  2.          pbeenClicked,phelpStatus
  3.  
  4. on birth me,theSprite,theCast,aSound,aFunction,aCursor
  5.   -- assumes that the sprite has the correct cast member in the correct loc
  6.   -- assumes that the normal and depressed art are in cast numbers theCast and theCast + 1
  7.   set pSprite = theSprite
  8.   set pcursor = aCursor
  9.   set pCast = theCast
  10.   set pMySound = aSound
  11.   set pNutral = pCast
  12.   set pHilighted = pCast + 1
  13.   set pSelected = pCast + 2
  14.   set pFunction = aFunction
  15.   set phelpStatus = 0
  16.   puppetSprite pSprite, TRUE
  17.   set the castNum of sprite pSprite = pCast
  18.   return me
  19. end
  20.  
  21. on setNewFunction me, aFunction 
  22.   set pFunction = aFunction
  23. end
  24.  
  25. on setNewSound me, aNewSound 
  26.   set pMySound = aNewSound
  27. end
  28.  
  29. on TurnOnHelpSound me
  30.   set phelpStatus = 1
  31. end
  32.  
  33. on TurnOffHelpSound me
  34.   set phelpStatus = 0
  35. end
  36.  
  37. on reset me
  38.   set the castNum of sprite pSprite = pNutral
  39.   updatestage
  40. end
  41.  
  42. on hilight me
  43.   puppetsprite pSprite, true
  44.   set pbeenClicked to False
  45.   puppettransition 0
  46.   set the cursor of sprite pSprite = [1904, 1905]
  47.   repeat while (rollover(pSprite))
  48.     if the castNum of sprite pSprite = pNutral then
  49.       set the castNum of sprite pSprite = pHilighted 
  50.       if phelpStatus = 1 then 
  51.         puppetsound pMySound
  52.         UpDateStage
  53.       end if
  54.       set pbeenClicked to False
  55.       Updatestage
  56.       if soundBusy(3) then
  57.         exit repeat
  58.       end if
  59.     else
  60.       if (the mouseDown) then
  61.         if (not(the castNum of sprite pSprite = pSelected)) then
  62.           puppetsound "FeatureButSplClk.AIFF" 
  63.           updatestage
  64.         end if
  65.         set the castNum of sprite pSprite = pSelected
  66.         set pbeenClicked to TRUE
  67.         Updatestage
  68.       else 
  69.         -- the mouse is up
  70.         if (pbeenClicked = true and rollover(pSprite)) then
  71.           set the cursor of sprite pSprite = [1910, 1911]
  72.           reset me
  73.           do pFunction
  74.           return FALSE
  75.         else
  76.           if soundBusy(3) then
  77.             exit repeat
  78.           end if
  79.         end if
  80.       end if
  81.     end if
  82.   end repeat
  83.   if phelpStatus = 1 then 
  84.     puppetsound 0
  85.   end if
  86.   if rollover(pSprite) then
  87.     if  (the castNum of sprite pSprite = pHilighted) then
  88.       return TRUE
  89.     else
  90.       set the castNum of sprite pSprite = pHilighted
  91.       return TRUE
  92.     end if
  93.   else
  94.     if (the castNum of sprite pSprite = pHilighted) then
  95.       reset me
  96.       return FALSE
  97.     else
  98.       return FALSE
  99.     end if
  100.   end if
  101. end
  102.  
  103.  
  104. on Donthilight me
  105.   puppettransition 0
  106.   set checksoundstatus = 0
  107.   repeat while (rollover(pSprite))
  108.     if checksoundstatus = 0 then
  109.       if phelpStatus = 1 then 
  110.         puppetsound pMySound
  111.         UpDateStage
  112.         set checksoundstatus = 1
  113.       end if
  114.     else
  115.       nothing
  116.     end if
  117.   end repeat
  118.   if phelpStatus = 1 then 
  119.     puppetsound 0
  120.   end if
  121. end
  122.  
  123. on toggle me
  124.   set the castNum of sprite pSprite = pSelected
  125.   upDateStage
  126.   repeat while (the mouseDown)
  127.     if rollover(pSprite) then
  128.       set the castNum of sprite pSprite = pSelected
  129.       set pbeenClicked to true
  130.     else
  131.       set the castNum of sprite pSprite = pNutral
  132.       set pbeenClicked to false
  133.     end if
  134.     updatestage
  135.   end repeat
  136. end
  137.  
  138. on hideControl me
  139.   puppetSprite pSprite, FALSE
  140.   set the cursor of sprite pSprite = 0
  141. end
  142.  
  143. on showControl me
  144.   puppetSprite pSprite, TRUE
  145.   set the cursor of sprite pSprite = [1904, 1905]
  146. end 
  147.  
  148. on changeBaseButton me, newBase
  149.   set pCast = newBase
  150.   set the castNum of sprite pSprite = pCast
  151.   showControl(me)
  152. end
  153.  
  154. on setDemoHilight me 
  155.   set the castNum of sprite pSprite = pHilighted
  156.   upDateStage
  157. end
  158.  
  159.